As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
On an information handling system, non-volatile random access memory (NVRAM) stores critical system configuration data. If this data is corrupted, or not up-to-date, the system will misbehave and may fail catastrophically. Currently on Unified Extensible Firmware Interface (UEFI) Basic Input/Output System (BIOS) systems, there is no validation of the contents of this data. So when it becomes corrupted, there is no way to detect or correct it.
Flash memory parts are typically used to store the system configuration data for information handling systems. Such flash memories tend to incur permanent damage to blocks after a generally known number of write/erase cycles, also known as program/erase (PE) cycles (e.g., 100,000).